Newer
Older
taehui / taehui-fe / src / app / [language] / forum / query / usePostEssay.ts
@Taehui Taehui on 17 Mar 881 bytes 2024-03-18 오전 12:51
import { useTaehuiStore } from "@/state/Stores";
import { wwwAPI } from "@/utilities/wwwAPI";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { getMillis } from "taehui-ts/date";

export default function usePostEssay() {
  const { totem } = useTaehuiStore();

  const queryClient = useQueryClient();

  return useMutation({
    mutationFn: async ({
      forumID,
      title,
      text,
    }: {
      forumID: string;
      title: string;
      text: string;
    }) => {
      const { data } = await wwwAPI.post(
        `/essay/${forumID}`,
        {
          title,
          text,
        },
        {
          headers: {
            millis: getMillis(),
            totem,
          },
        },
      );
      return data;
    },
    onSuccess: async () => {
      await queryClient.invalidateQueries({ queryKey: ["essay"] });
    },
  });
}